import Vue from 'vue';

import VueRouter from 'vue-router';

import ProductAdd from '../components/product/ProductAdd.vue';
import Login from '../components/Login.vue';
import UserList from '../components/user/UserList.vue';
import Product from '../components/product/Product.vue';
import WallpaperList from '../components/wallpaper/WallpaperList.vue';
import NavList from '../components/nav/NavList.vue';
import ProgressList from '../components/progress/ProgressList.vue';
import CoachList from '../components/coach/CoachList.vue';
import CoachAdd from '../components/coach/CoachAdd.vue';
import NewsList from '../components/news/NewsList.vue';
import NewsAdd from '../components/news/NewsAdd.vue';
import NewsUpdate from '../components/news/NewsUpdate.vue';
import CompanyList from '../components/company/CompanyList.vue';
import ProductEdit from '../components/product/ProductEdit.vue';
import CoachEdit from '../components/coach/CoachEdit.vue';

const Home = () => import('../components/Home.vue');

Vue.use(VueRouter);
const routes = [
  { path: '/', redirect: '/login' },
  { path: '/login', component: Login },
  {
    path: '/home',
    component: Home,
    redirect: '/nav/list',
    children: [
      { path: '/user/list', component: UserList },
      { path: '/product/list', component: Product },
      { path: '/product/add', component: ProductAdd },
      { path: '/product/edit/:id', component: ProductEdit },
      { path: '/wallpaper/list', component: WallpaperList },
      { path: '/nav/list', component: NavList },
      { path: '/progress/list', component: ProgressList },
      { path: '/coach/list', component: CoachList },
      { path: '/coach/add', component: CoachAdd },
      { path: '/coach/edit/:id', component: CoachEdit },
      { path: '/news/list', component: NewsList },
      { path: '/news/add', component: NewsAdd },
      { path: '/news/edit/:id', component: NewsUpdate },
      { path: '/company/list', component: CompanyList },
    ],
  },
];

const router = new VueRouter({
  routes,
});

// 挂载路由导航守卫,to表示将要访问的路径，from表示从哪里来，next是下一个要做的操作 next('/login')强制跳转login
router.beforeEach((to, from, next) => {
  // 访问登录页，放行
  if (to.path === '/login') return next();
  // 获取token
  // const tokenStr = window.sessionStorage.getItem('token');
  // 没有token, 强制跳转到登录页
  // if (!tokenStr) return next('/login');
  return next();
});

export default router;
